<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />

<meta name="viewport" content="width=device-width, initial-scale=1" />

<meta name="author" content="Edzer Pebesma" />


<title>3. Manipulating Simple Feature Geometries</title>

<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
// be compatible with the behavior of Pandoc < 2.8).
document.addEventListener('DOMContentLoaded', function(e) {
  var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
  var i, h, a;
  for (i = 0; i < hs.length; i++) {
    h = hs[i];
    if (!/^h[1-6]$/i.test(h.tagName)) continue;  // it should be a header h1-h6
    a = h.attributes;
    while (a.length > 0) h.removeAttribute(a[0].name);
  }
});
</script>

<style type="text/css">
  code{white-space: pre-wrap;}
  span.smallcaps{font-variant: small-caps;}
  span.underline{text-decoration: underline;}
  div.column{display: inline-block; vertical-align: top; width: 50%;}
  div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
  ul.task-list{list-style: none;}
    </style>



<style type="text/css">
  code {
    white-space: pre;
  }
  .sourceCode {
    overflow: visible;
  }
</style>
<style type="text/css" data-origin="pandoc">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
  { counter-reset: source-line 0; }
pre.numberSource code > span
  { position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
  { content: counter(source-line);
    position: relative; left: -1em; text-align: right; vertical-align: baseline;
    border: none; display: inline-block;
    -webkit-touch-callout: none; -webkit-user-select: none;
    -khtml-user-select: none; -moz-user-select: none;
    -ms-user-select: none; user-select: none;
    padding: 0 4px; width: 4em;
    color: #aaaaaa;
  }
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
div.sourceCode
  {   }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */

</style>
<script>
// apply pandoc div.sourceCode style to pre.sourceCode instead
(function() {
  var sheets = document.styleSheets;
  for (var i = 0; i < sheets.length; i++) {
    if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
    try { var rules = sheets[i].cssRules; } catch (e) { continue; }
    var j = 0;
    while (j < rules.length) {
      var rule = rules[j];
      // check if there is a div.sourceCode rule
      if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
        j++;
        continue;
      }
      var style = rule.style.cssText;
      // check if color or background-color is set
      if (rule.style.color === '' && rule.style.backgroundColor === '') {
        j++;
        continue;
      }
      // replace div.sourceCode by a pre.sourceCode rule
      sheets[i].deleteRule(j);
      sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
    }
  }
})();
</script>




<style type="text/css">body {
background-color: #fff;
margin: 1em auto;
max-width: 700px;
overflow: visible;
padding-left: 2em;
padding-right: 2em;
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.35;
}
#TOC {
clear: both;
margin: 0 0 10px 10px;
padding: 4px;
width: 400px;
border: 1px solid #CCCCCC;
border-radius: 5px;
background-color: #f6f6f6;
font-size: 13px;
line-height: 1.3;
}
#TOC .toctitle {
font-weight: bold;
font-size: 15px;
margin-left: 5px;
}
#TOC ul {
padding-left: 40px;
margin-left: -1.5em;
margin-top: 5px;
margin-bottom: 5px;
}
#TOC ul ul {
margin-left: -2em;
}
#TOC li {
line-height: 16px;
}
table {
margin: 1em auto;
border-width: 1px;
border-color: #DDDDDD;
border-style: outset;
border-collapse: collapse;
}
table th {
border-width: 2px;
padding: 5px;
border-style: inset;
}
table td {
border-width: 1px;
border-style: inset;
line-height: 18px;
padding: 5px 5px;
}
table, table th, table td {
border-left-style: none;
border-right-style: none;
}
table thead, table tr.even {
background-color: #f7f7f7;
}
p {
margin: 0.5em 0;
}
blockquote {
background-color: #f6f6f6;
padding: 0.25em 0.75em;
}
hr {
border-style: solid;
border: none;
border-top: 1px solid #777;
margin: 28px 0;
}
dl {
margin-left: 0;
}
dl dd {
margin-bottom: 13px;
margin-left: 13px;
}
dl dt {
font-weight: bold;
}
ul {
margin-top: 0;
}
ul li {
list-style: circle outside;
}
ul ul {
margin-bottom: 0;
}
pre, code {
background-color: #f7f7f7;
border-radius: 3px;
color: #333;
white-space: pre-wrap; 
}
pre {
border-radius: 3px;
margin: 5px 0px 10px 0px;
padding: 10px;
}
pre:not([class]) {
background-color: #f7f7f7;
}
code {
font-family: Consolas, Monaco, 'Courier New', monospace;
font-size: 85%;
}
p > code, li > code {
padding: 2px 0px;
}
div.figure {
text-align: center;
}
img {
background-color: #FFFFFF;
padding: 2px;
border: 1px solid #DDDDDD;
border-radius: 3px;
border: 1px solid #CCCCCC;
margin: 0 5px;
}
h1 {
margin-top: 0;
font-size: 35px;
line-height: 40px;
}
h2 {
border-bottom: 4px solid #f7f7f7;
padding-top: 10px;
padding-bottom: 2px;
font-size: 145%;
}
h3 {
border-bottom: 2px solid #f7f7f7;
padding-top: 10px;
font-size: 120%;
}
h4 {
border-bottom: 1px solid #f7f7f7;
margin-left: 8px;
font-size: 105%;
}
h5, h6 {
border-bottom: 1px solid #ccc;
font-size: 105%;
}
a {
color: #0033dd;
text-decoration: none;
}
a:hover {
color: #6666ff; }
a:visited {
color: #800080; }
a:visited:hover {
color: #BB00BB; }
a[href^="http:"] {
text-decoration: underline; }
a[href^="https:"] {
text-decoration: underline; }

code > span.kw { color: #555; font-weight: bold; } 
code > span.dt { color: #902000; } 
code > span.dv { color: #40a070; } 
code > span.bn { color: #d14; } 
code > span.fl { color: #d14; } 
code > span.ch { color: #d14; } 
code > span.st { color: #d14; } 
code > span.co { color: #888888; font-style: italic; } 
code > span.ot { color: #007020; } 
code > span.al { color: #ff0000; font-weight: bold; } 
code > span.fu { color: #900; font-weight: bold; } 
code > span.er { color: #a61717; background-color: #e3d2d2; } 
</style>




</head>

<body>




<h1 class="title toc-ignore">3. Manipulating Simple Feature
Geometries</h1>
<h4 class="author">Edzer Pebesma</h4>



<p><strong>For a better version of the sf vignettes see</strong> <a href="https://r-spatial.github.io/sf/articles/" class="uri">https://r-spatial.github.io/sf/articles/</a></p>
<p>This vignette describes how simple feature geometries can be
manipulated, where manipulations include</p>
<ul>
<li>type transformations (e.g., <code>POLYGON</code> to
<code>MULTIPOLYGON</code>)</li>
<li>affine transformation (shift, scale, rotate)</li>
<li>transformation into a different coordinate reference system</li>
<li>geometrical operations, e.g. finding the centroid of a polygon,
detecting whether pairs of feature geometries intersect, or find the
union (overlap) of two polygons.</li>
</ul>
<div id="type-transformations" class="section level2">
<h2>Type transformations</h2>
<p>This sections discusses how simple feature geometries of one type can
be converted to another. For converting lines to polygons, see also
<code>st_polygonize</code> below.</p>
<div id="for-single-geometries" class="section level3">
<h3>For single geometries</h3>
<p>For single geometries, <code>st_cast</code> will</p>
<ol style="list-style-type: decimal">
<li>convert from XX to MULTIXX, e.g. <code>LINESTRING</code> to
<code>MULTILINESTRING</code></li>
<li>convert from MULTIXX to XX if MULTIXX has length one (else, it will
still convert but warn about loss of information)</li>
<li>convert from MULTIXX to XX if MULTIXX does not have length one, but
it will warn about the loss of information</li>
<li>convert GEOMETRYCOLLECTION of length one to its component if</li>
</ol>
<p>Examples of the first three types are:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">library</span>(sf)</span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="fu">suppressPackageStartupMessages</span>(<span class="fu">library</span>(dplyr))</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="fu">st_point</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>)) <span class="sc">%&gt;%</span> <span class="fu">st_cast</span>(<span class="st">&quot;MULTIPOINT&quot;</span>)</span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="do">## MULTIPOINT ((1 1))</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="fu">st_multipoint</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>))) <span class="sc">%&gt;%</span> <span class="fu">st_cast</span>(<span class="st">&quot;POINT&quot;</span>)</span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="do">## Warning in st_cast.MULTIPOINT(., &quot;POINT&quot;): point from first coordinate only</span></span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (1 1)</span></span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="fu">st_multipoint</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>))) <span class="sc">%&gt;%</span> <span class="fu">st_cast</span>(<span class="st">&quot;POINT&quot;</span>)</span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="do">## Warning in st_cast.MULTIPOINT(., &quot;POINT&quot;): point from first coordinate only</span></span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (1 1)</span></span></code></pre></div>
<p>Examples of the fourth type are:</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu">st_geometrycollection</span>(<span class="fu">list</span>(<span class="fu">st_point</span>(<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>)))) <span class="sc">%&gt;%</span> <span class="fu">st_cast</span>(<span class="st">&quot;POINT&quot;</span>)</span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (1 1)</span></span></code></pre></div>
</div>
<div id="for-collections-of-geometry-sfc-and-simple-feature-collections-sf" class="section level3">
<h3>For collections of geometry (sfc) and simple feature collections
(sf)</h3>
<p>It should be noted here that when reading geometries using
<code>st_read</code>, the <code>type</code> argument can be used to
control the class of the returned geometry:</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>shp <span class="ot">=</span> <span class="fu">system.file</span>(<span class="st">&quot;shape/nc.shp&quot;</span>, <span class="at">package=</span><span class="st">&quot;sf&quot;</span>)</span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">class</span>(<span class="fu">st_geometry</span>(<span class="fu">st_read</span>(shp, <span class="at">quiet =</span> <span class="cn">TRUE</span>)))</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;sfc_MULTIPOLYGON&quot; &quot;sfc&quot;</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a><span class="fu">class</span>(<span class="fu">st_geometry</span>(<span class="fu">st_read</span>(shp, <span class="at">quiet =</span> <span class="cn">TRUE</span>, <span class="at">type =</span> <span class="dv">3</span>)))</span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;sfc_POLYGON&quot; &quot;sfc&quot;</span></span>
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a><span class="fu">class</span>(<span class="fu">st_geometry</span>(<span class="fu">st_read</span>(shp, <span class="at">quiet =</span> <span class="cn">TRUE</span>, <span class="at">type =</span> <span class="dv">1</span>)))</span>
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;sfc_GEOMETRY&quot; &quot;sfc&quot;</span></span></code></pre></div>
<p>This option is handled by the GDAL library; in case of failure to
convert to the target type, the original types are returned, which in
this case is a mix of <code>POLYGON</code> and <code>MULTIPOLYGON</code>
geometries, leading to a <code>GEOMETRY</code> as superclass. When we
try to read multipolygons as polygons, all secondary rings of
multipolygons get lost.</p>
<p>When functions return objects with mixed geometry type
(<code>GEOMETRY</code>), downstream functions such as
<code>st_write</code> may have difficulty handling them. For some of
these cases, <code>st_cast</code> may help modify their type. For sets
of geometry objects (<code>sfc</code>) and simple feature sets
(<code>sf),</code>st_cast` can be used by specifying the target type, or
without specifying it.</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a>ls <span class="ot">&lt;-</span> <span class="fu">st_linestring</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>)))</span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a>mls <span class="ot">&lt;-</span> <span class="fu">st_multilinestring</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>)), <span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>))))</span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a>(sfc <span class="ot">&lt;-</span> <span class="fu">st_sfc</span>(ls,mls))</span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry set for 2 features </span></span>
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry type: GEOMETRY</span></span>
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a><span class="do">## Dimension:     XY</span></span>
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a><span class="do">## Bounding box:  xmin: 0 ymin: 0 xmax: 2 ymax: 3</span></span>
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true" tabindex="-1"></a><span class="do">## CRS:           NA</span></span>
<span id="cb4-9"><a href="#cb4-9" aria-hidden="true" tabindex="-1"></a><span class="do">## LINESTRING (0 0, 1 1, 2 1)</span></span>
<span id="cb4-10"><a href="#cb4-10" aria-hidden="true" tabindex="-1"></a><span class="do">## MULTILINESTRING ((2 2, 1 3), (0 0, 1 1, 2 1))</span></span>
<span id="cb4-11"><a href="#cb4-11" aria-hidden="true" tabindex="-1"></a><span class="fu">st_cast</span>(sfc, <span class="st">&quot;MULTILINESTRING&quot;</span>)</span>
<span id="cb4-12"><a href="#cb4-12" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry set for 2 features </span></span>
<span id="cb4-13"><a href="#cb4-13" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry type: MULTILINESTRING</span></span>
<span id="cb4-14"><a href="#cb4-14" aria-hidden="true" tabindex="-1"></a><span class="do">## Dimension:     XY</span></span>
<span id="cb4-15"><a href="#cb4-15" aria-hidden="true" tabindex="-1"></a><span class="do">## Bounding box:  xmin: 0 ymin: 0 xmax: 2 ymax: 3</span></span>
<span id="cb4-16"><a href="#cb4-16" aria-hidden="true" tabindex="-1"></a><span class="do">## CRS:           NA</span></span>
<span id="cb4-17"><a href="#cb4-17" aria-hidden="true" tabindex="-1"></a><span class="do">## MULTILINESTRING ((0 0, 1 1, 2 1))</span></span>
<span id="cb4-18"><a href="#cb4-18" aria-hidden="true" tabindex="-1"></a><span class="do">## MULTILINESTRING ((2 2, 1 3), (0 0, 1 1, 2 1))</span></span>
<span id="cb4-19"><a href="#cb4-19" aria-hidden="true" tabindex="-1"></a>sf <span class="ot">&lt;-</span> <span class="fu">st_sf</span>(<span class="at">a =</span> <span class="dv">5</span><span class="sc">:</span><span class="dv">4</span>, <span class="at">geom =</span> sfc)</span>
<span id="cb4-20"><a href="#cb4-20" aria-hidden="true" tabindex="-1"></a><span class="fu">st_cast</span>(sf, <span class="st">&quot;MULTILINESTRING&quot;</span>)</span>
<span id="cb4-21"><a href="#cb4-21" aria-hidden="true" tabindex="-1"></a><span class="do">## Simple feature collection with 2 features and 1 field</span></span>
<span id="cb4-22"><a href="#cb4-22" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry type: MULTILINESTRING</span></span>
<span id="cb4-23"><a href="#cb4-23" aria-hidden="true" tabindex="-1"></a><span class="do">## Dimension:     XY</span></span>
<span id="cb4-24"><a href="#cb4-24" aria-hidden="true" tabindex="-1"></a><span class="do">## Bounding box:  xmin: 0 ymin: 0 xmax: 2 ymax: 3</span></span>
<span id="cb4-25"><a href="#cb4-25" aria-hidden="true" tabindex="-1"></a><span class="do">## CRS:           NA</span></span>
<span id="cb4-26"><a href="#cb4-26" aria-hidden="true" tabindex="-1"></a><span class="do">##   a                           geom</span></span>
<span id="cb4-27"><a href="#cb4-27" aria-hidden="true" tabindex="-1"></a><span class="do">## 1 5 MULTILINESTRING ((0 0, 1 1,...</span></span>
<span id="cb4-28"><a href="#cb4-28" aria-hidden="true" tabindex="-1"></a><span class="do">## 2 4 MULTILINESTRING ((2 2, 1 3)...</span></span></code></pre></div>
<p>When no target type is given, <code>st_cast</code> tries to be smart
for two cases:</p>
<ol style="list-style-type: decimal">
<li>if the class of the object is <code>GEOMETRY</code>, and all
elements are of identical type, and</li>
<li>if all elements are length-one <code>GEOMETRYCOLLECTION</code>
objects, in which case <code>GEOMETRYCOLLECTION</code> objects are
replaced by their content (which may be a <code>GEOMETRY</code> mix
again)</li>
</ol>
<p>Examples are:</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a>ls <span class="ot">&lt;-</span> <span class="fu">st_linestring</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>)))</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a>mls1 <span class="ot">&lt;-</span> <span class="fu">st_multilinestring</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>)), <span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>))))</span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a>mls2 <span class="ot">&lt;-</span> <span class="fu">st_multilinestring</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">4</span>,<span class="dv">4</span>),<span class="fu">c</span>(<span class="dv">4</span>,<span class="dv">3</span>)), <span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">1</span>))))</span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a>(sfc <span class="ot">&lt;-</span> <span class="fu">st_sfc</span>(ls,mls1,mls2))</span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry set for 3 features </span></span>
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry type: GEOMETRY</span></span>
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a><span class="do">## Dimension:     XY</span></span>
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true" tabindex="-1"></a><span class="do">## Bounding box:  xmin: 0 ymin: 0 xmax: 4 ymax: 4</span></span>
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a><span class="do">## CRS:           NA</span></span>
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a><span class="do">## LINESTRING (0 0, 1 1, 2 1)</span></span>
<span id="cb5-11"><a href="#cb5-11" aria-hidden="true" tabindex="-1"></a><span class="do">## MULTILINESTRING ((2 2, 1 3), (0 0, 1 1, 2 1))</span></span>
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true" tabindex="-1"></a><span class="do">## MULTILINESTRING ((4 4, 4 3), (2 2, 2 1, 3 1))</span></span>
<span id="cb5-13"><a href="#cb5-13" aria-hidden="true" tabindex="-1"></a><span class="fu">class</span>(sfc[<span class="dv">2</span><span class="sc">:</span><span class="dv">3</span>])</span>
<span id="cb5-14"><a href="#cb5-14" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;sfc_MULTILINESTRING&quot; &quot;sfc&quot;</span></span>
<span id="cb5-15"><a href="#cb5-15" aria-hidden="true" tabindex="-1"></a><span class="fu">class</span>(<span class="fu">st_cast</span>(sfc[<span class="dv">2</span><span class="sc">:</span><span class="dv">3</span>]))</span>
<span id="cb5-16"><a href="#cb5-16" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;sfc_MULTILINESTRING&quot; &quot;sfc&quot;</span></span>
<span id="cb5-17"><a href="#cb5-17" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-18"><a href="#cb5-18" aria-hidden="true" tabindex="-1"></a>gc1 <span class="ot">&lt;-</span> <span class="fu">st_geometrycollection</span>(<span class="fu">list</span>(<span class="fu">st_linestring</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>)))))</span>
<span id="cb5-19"><a href="#cb5-19" aria-hidden="true" tabindex="-1"></a>gc2 <span class="ot">&lt;-</span> <span class="fu">st_geometrycollection</span>(<span class="fu">list</span>(<span class="fu">st_multilinestring</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>)), <span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>))))))</span>
<span id="cb5-20"><a href="#cb5-20" aria-hidden="true" tabindex="-1"></a>gc3 <span class="ot">&lt;-</span> <span class="fu">st_geometrycollection</span>(<span class="fu">list</span>(<span class="fu">st_multilinestring</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">4</span>,<span class="dv">4</span>),<span class="fu">c</span>(<span class="dv">4</span>,<span class="dv">3</span>)), <span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">1</span>))))))</span>
<span id="cb5-21"><a href="#cb5-21" aria-hidden="true" tabindex="-1"></a>(sfc <span class="ot">&lt;-</span> <span class="fu">st_sfc</span>(gc1,gc2,gc3))</span>
<span id="cb5-22"><a href="#cb5-22" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry set for 3 features </span></span>
<span id="cb5-23"><a href="#cb5-23" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry type: GEOMETRYCOLLECTION</span></span>
<span id="cb5-24"><a href="#cb5-24" aria-hidden="true" tabindex="-1"></a><span class="do">## Dimension:     XY</span></span>
<span id="cb5-25"><a href="#cb5-25" aria-hidden="true" tabindex="-1"></a><span class="do">## Bounding box:  xmin: 0 ymin: 0 xmax: 4 ymax: 4</span></span>
<span id="cb5-26"><a href="#cb5-26" aria-hidden="true" tabindex="-1"></a><span class="do">## CRS:           NA</span></span>
<span id="cb5-27"><a href="#cb5-27" aria-hidden="true" tabindex="-1"></a><span class="do">## GEOMETRYCOLLECTION (LINESTRING (0 0, 1 1, 2 1))</span></span>
<span id="cb5-28"><a href="#cb5-28" aria-hidden="true" tabindex="-1"></a><span class="do">## GEOMETRYCOLLECTION (MULTILINESTRING ((2 2, 1 3)...</span></span>
<span id="cb5-29"><a href="#cb5-29" aria-hidden="true" tabindex="-1"></a><span class="do">## GEOMETRYCOLLECTION (MULTILINESTRING ((4 4, 4 3)...</span></span>
<span id="cb5-30"><a href="#cb5-30" aria-hidden="true" tabindex="-1"></a><span class="fu">class</span>(<span class="fu">st_cast</span>(sfc))</span>
<span id="cb5-31"><a href="#cb5-31" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;sfc_GEOMETRY&quot; &quot;sfc&quot;</span></span>
<span id="cb5-32"><a href="#cb5-32" aria-hidden="true" tabindex="-1"></a><span class="fu">class</span>(<span class="fu">st_cast</span>(<span class="fu">st_cast</span>(sfc), <span class="st">&quot;MULTILINESTRING&quot;</span>))</span>
<span id="cb5-33"><a href="#cb5-33" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;sfc_MULTILINESTRING&quot; &quot;sfc&quot;</span></span></code></pre></div>
</div>
</div>
<div id="affine-transformations" class="section level2">
<h2>Affine transformations</h2>
<p>Affine transformations are transformations of the type <span class="math inline">\(f(x) = xA + b\)</span>, where matrix <span class="math inline">\(A\)</span> is used to flatten, scale and/or
rotate, and <span class="math inline">\(b\)</span> to translate <span class="math inline">\(x\)</span>. Low-level examples are:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a>(<span class="at">p =</span> <span class="fu">st_point</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">2</span>)))</span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (0 2)</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a>p <span class="sc">+</span> <span class="dv">1</span></span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (1 3)</span></span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a>p <span class="sc">+</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>)</span>
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (1 4)</span></span>
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true" tabindex="-1"></a>p <span class="sc">+</span> p</span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (0 4)</span></span>
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true" tabindex="-1"></a>p <span class="sc">*</span> p</span>
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (0 4)</span></span>
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true" tabindex="-1"></a>rot <span class="ot">=</span> <span class="cf">function</span>(a) <span class="fu">matrix</span>(<span class="fu">c</span>(<span class="fu">cos</span>(a), <span class="fu">sin</span>(a), <span class="sc">-</span><span class="fu">sin</span>(a), <span class="fu">cos</span>(a)), <span class="dv">2</span>, <span class="dv">2</span>)</span>
<span id="cb6-12"><a href="#cb6-12" aria-hidden="true" tabindex="-1"></a>p <span class="sc">*</span> <span class="fu">rot</span>(pi<span class="sc">/</span><span class="dv">4</span>)</span>
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (1.414214 1.414214)</span></span>
<span id="cb6-14"><a href="#cb6-14" aria-hidden="true" tabindex="-1"></a>p <span class="sc">*</span> <span class="fu">rot</span>(pi<span class="sc">/</span><span class="dv">2</span>)</span>
<span id="cb6-15"><a href="#cb6-15" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (2 1.224647e-16)</span></span>
<span id="cb6-16"><a href="#cb6-16" aria-hidden="true" tabindex="-1"></a>p <span class="sc">*</span> <span class="fu">rot</span>(pi)</span>
<span id="cb6-17"><a href="#cb6-17" aria-hidden="true" tabindex="-1"></a><span class="do">## POINT (2.449294e-16 -2)</span></span></code></pre></div>
<p>Just to make the point, we can for instance rotate the counties of
North Carolina 90 degrees clockwise around their centroid, and shrink
them to 75% of their original size:</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a>nc <span class="ot">=</span> <span class="fu">st_read</span>(<span class="fu">system.file</span>(<span class="st">&quot;shape/nc.shp&quot;</span>, <span class="at">package=</span><span class="st">&quot;sf&quot;</span>), <span class="at">quiet =</span> <span class="cn">TRUE</span>)</span>
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a>ncg <span class="ot">=</span> <span class="fu">st_geometry</span>(nc)</span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(ncg, <span class="at">border =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a>cntrd <span class="ot">=</span> <span class="fu">st_centroid</span>(ncg)</span>
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a>ncg2 <span class="ot">=</span> (ncg <span class="sc">-</span> cntrd) <span class="sc">*</span> <span class="fu">rot</span>(pi<span class="sc">/</span><span class="dv">2</span>) <span class="sc">*</span> .<span class="dv">75</span> <span class="sc">+</span> cntrd</span>
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(ncg2, <span class="at">add =</span> <span class="cn">TRUE</span>)</span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(cntrd, <span class="at">col =</span> <span class="st">&#39;red&#39;</span>, <span class="at">add =</span> <span class="cn">TRUE</span>, <span class="at">cex =</span> .<span class="dv">5</span>)</span></code></pre></div>
<p><img src="data:image/png;base64,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wAAAAJASBBgAAABSggADAABAShBgAAAASAkCDAAAAClBgAEAACAlCDAAAACkBAEGAACAlCDAAAAAkBIEGAAAAFKCAAMAAEBKEGAAAABICQIMAAAAKUGAAQAAICUIMAAAAKQEAQYAAICUIMAAAACQEgQYAAAAUoIAAwAAQEoQYAAAAEgJAgwAAAApQYABAAAgJQgwAAAApAQBBgAAgJQgwAAAAJASBBgAAABSggADAABAShBgAAAASAkCDAAAAClBgAEAACAlCDAAAACkBAEGAACAlCDAAAAAkBIEGAAAAFKCAAMAAEBKEGAAAABICQIMAAAAKUGAAQAAICUIMAAAAKQEAQYAAICUIMAAAACQEgQYAAAAUoIAAwAAQEoQYAAAAEgJAgwAAAApQYABAAAgJQgwAAAApAQBBgAAgJQgwAAAAJASBBgAAABSggADAABAShBgAAAASAkCDAAAAClBgAEAACAlCDAAAACkBAEGAACAlCDAAAAAkBIEGAAAAFKCAAMAAEBKEGAAAABICQIMAAAAKUGAAQAAICUIMAAAAKQEAQYAAICUIMAAAACQEgQYAAAAUoIAAwAAQEoQYAAAAEgJAgwAAAApQYABAAAgJQgwAAAApAQBBgAAgJQgwAAAAJASBBgAAABSggADAABAShBgAAAASAkCDAAAAClBgAEAACAlCDAAAACkBAEGAACAlCDAAAAAkBIEGAAAAFKCAAMAAEBKEGAAAABICQIMAAAAKUGAAQAAICUIMAAAAKQEAQYAAICUIMAAAACQEgQYAAAAUoIAAwAAQEoQYAAAAEgJAgwAAAApQYABAAAgJQgwAAAApAQBBgAAgJQgwAAAAJASBBgAAABSggADAABAShBgAAAASAkCDAAAAClBgAEAACCl/wd0Sra/74O4cwAAAABJRU5ErkJggg==" /><!-- --></p>
</div>
<div id="coordinate-reference-systems-conversion-and-transformation" class="section level2">
<h2>Coordinate reference systems conversion and transformation</h2>
<div id="getting-and-setting-coordinate-reference-systems-of-sf-objects" class="section level3">
<h3>Getting and setting coordinate reference systems of sf objects</h3>
<p>The coordinate reference system of objects of class <code>sf</code>
or <code>sfc</code> is obtained by <code>st_crs</code>, and replaced by
<code>st_crs&lt;-</code>:</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">library</span>(sf)</span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a>geom <span class="ot">=</span> <span class="fu">st_sfc</span>(<span class="fu">st_point</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">1</span>)), <span class="fu">st_point</span>(<span class="fu">c</span>(<span class="dv">11</span>,<span class="dv">12</span>)))</span>
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a>s <span class="ot">=</span> <span class="fu">st_sf</span>(<span class="at">a =</span> <span class="dv">15</span><span class="sc">:</span><span class="dv">16</span>, <span class="at">geometry =</span> geom)</span>
<span id="cb8-4"><a href="#cb8-4" aria-hidden="true" tabindex="-1"></a><span class="fu">st_crs</span>(s)</span>
<span id="cb8-5"><a href="#cb8-5" aria-hidden="true" tabindex="-1"></a><span class="do">## Coordinate Reference System: NA</span></span>
<span id="cb8-6"><a href="#cb8-6" aria-hidden="true" tabindex="-1"></a>s1 <span class="ot">=</span> s</span>
<span id="cb8-7"><a href="#cb8-7" aria-hidden="true" tabindex="-1"></a><span class="fu">st_crs</span>(s1) <span class="ot">&lt;-</span> <span class="dv">4326</span></span>
<span id="cb8-8"><a href="#cb8-8" aria-hidden="true" tabindex="-1"></a><span class="fu">st_crs</span>(s1)</span>
<span id="cb8-9"><a href="#cb8-9" aria-hidden="true" tabindex="-1"></a><span class="do">## Coordinate Reference System:</span></span>
<span id="cb8-10"><a href="#cb8-10" aria-hidden="true" tabindex="-1"></a><span class="do">##   User input: EPSG:4326 </span></span>
<span id="cb8-11"><a href="#cb8-11" aria-hidden="true" tabindex="-1"></a><span class="do">##   wkt:</span></span>
<span id="cb8-12"><a href="#cb8-12" aria-hidden="true" tabindex="-1"></a><span class="do">## GEOGCRS[&quot;WGS 84&quot;,</span></span>
<span id="cb8-13"><a href="#cb8-13" aria-hidden="true" tabindex="-1"></a><span class="do">##     ENSEMBLE[&quot;World Geodetic System 1984 ensemble&quot;,</span></span>
<span id="cb8-14"><a href="#cb8-14" aria-hidden="true" tabindex="-1"></a><span class="do">##         MEMBER[&quot;World Geodetic System 1984 (Transit)&quot;],</span></span>
<span id="cb8-15"><a href="#cb8-15" aria-hidden="true" tabindex="-1"></a><span class="do">##         MEMBER[&quot;World Geodetic System 1984 (G730)&quot;],</span></span>
<span id="cb8-16"><a href="#cb8-16" aria-hidden="true" tabindex="-1"></a><span class="do">##         MEMBER[&quot;World Geodetic System 1984 (G873)&quot;],</span></span>
<span id="cb8-17"><a href="#cb8-17" aria-hidden="true" tabindex="-1"></a><span class="do">##         MEMBER[&quot;World Geodetic System 1984 (G1150)&quot;],</span></span>
<span id="cb8-18"><a href="#cb8-18" aria-hidden="true" tabindex="-1"></a><span class="do">##         MEMBER[&quot;World Geodetic System 1984 (G1674)&quot;],</span></span>
<span id="cb8-19"><a href="#cb8-19" aria-hidden="true" tabindex="-1"></a><span class="do">##         MEMBER[&quot;World Geodetic System 1984 (G1762)&quot;],</span></span>
<span id="cb8-20"><a href="#cb8-20" aria-hidden="true" tabindex="-1"></a><span class="do">##         MEMBER[&quot;World Geodetic System 1984 (G2139)&quot;],</span></span>
<span id="cb8-21"><a href="#cb8-21" aria-hidden="true" tabindex="-1"></a><span class="do">##         ELLIPSOID[&quot;WGS 84&quot;,6378137,298.257223563,</span></span>
<span id="cb8-22"><a href="#cb8-22" aria-hidden="true" tabindex="-1"></a><span class="do">##             LENGTHUNIT[&quot;metre&quot;,1]],</span></span>
<span id="cb8-23"><a href="#cb8-23" aria-hidden="true" tabindex="-1"></a><span class="do">##         ENSEMBLEACCURACY[2.0]],</span></span>
<span id="cb8-24"><a href="#cb8-24" aria-hidden="true" tabindex="-1"></a><span class="do">##     PRIMEM[&quot;Greenwich&quot;,0,</span></span>
<span id="cb8-25"><a href="#cb8-25" aria-hidden="true" tabindex="-1"></a><span class="do">##         ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span></span>
<span id="cb8-26"><a href="#cb8-26" aria-hidden="true" tabindex="-1"></a><span class="do">##     CS[ellipsoidal,2],</span></span>
<span id="cb8-27"><a href="#cb8-27" aria-hidden="true" tabindex="-1"></a><span class="do">##         AXIS[&quot;geodetic latitude (Lat)&quot;,north,</span></span>
<span id="cb8-28"><a href="#cb8-28" aria-hidden="true" tabindex="-1"></a><span class="do">##             ORDER[1],</span></span>
<span id="cb8-29"><a href="#cb8-29" aria-hidden="true" tabindex="-1"></a><span class="do">##             ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span></span>
<span id="cb8-30"><a href="#cb8-30" aria-hidden="true" tabindex="-1"></a><span class="do">##         AXIS[&quot;geodetic longitude (Lon)&quot;,east,</span></span>
<span id="cb8-31"><a href="#cb8-31" aria-hidden="true" tabindex="-1"></a><span class="do">##             ORDER[2],</span></span>
<span id="cb8-32"><a href="#cb8-32" aria-hidden="true" tabindex="-1"></a><span class="do">##             ANGLEUNIT[&quot;degree&quot;,0.0174532925199433]],</span></span>
<span id="cb8-33"><a href="#cb8-33" aria-hidden="true" tabindex="-1"></a><span class="do">##     USAGE[</span></span>
<span id="cb8-34"><a href="#cb8-34" aria-hidden="true" tabindex="-1"></a><span class="do">##         SCOPE[&quot;Horizontal component of 3D system.&quot;],</span></span>
<span id="cb8-35"><a href="#cb8-35" aria-hidden="true" tabindex="-1"></a><span class="do">##         AREA[&quot;World.&quot;],</span></span>
<span id="cb8-36"><a href="#cb8-36" aria-hidden="true" tabindex="-1"></a><span class="do">##         BBOX[-90,-180,90,180]],</span></span>
<span id="cb8-37"><a href="#cb8-37" aria-hidden="true" tabindex="-1"></a><span class="do">##     ID[&quot;EPSG&quot;,4326]]</span></span>
<span id="cb8-38"><a href="#cb8-38" aria-hidden="true" tabindex="-1"></a>s2 <span class="ot">=</span> s</span>
<span id="cb8-39"><a href="#cb8-39" aria-hidden="true" tabindex="-1"></a><span class="fu">st_crs</span>(s2) <span class="ot">&lt;-</span> <span class="st">&quot;+proj=longlat +datum=WGS84&quot;</span></span>
<span id="cb8-40"><a href="#cb8-40" aria-hidden="true" tabindex="-1"></a><span class="fu">all.equal</span>(s1, s2)</span>
<span id="cb8-41"><a href="#cb8-41" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] &quot;Component \&quot;geometry\&quot;: Attributes: &lt; Component \&quot;crs\&quot;: Component \&quot;input\&quot;: 1 string mismatch &gt;&quot;</span></span>
<span id="cb8-42"><a href="#cb8-42" aria-hidden="true" tabindex="-1"></a><span class="do">## [2] &quot;Component \&quot;geometry\&quot;: Attributes: &lt; Component \&quot;crs\&quot;: Component \&quot;wkt\&quot;: 1 string mismatch &gt;&quot;</span></span></code></pre></div>
<p>An alternative, more pipe-friendly version of
<code>st_crs&lt;-</code> is</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a>s1 <span class="sc">%&gt;%</span> <span class="fu">st_set_crs</span>(<span class="dv">4326</span>)</span>
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="do">## Simple feature collection with 2 features and 1 field</span></span>
<span id="cb9-3"><a href="#cb9-3" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry type: POINT</span></span>
<span id="cb9-4"><a href="#cb9-4" aria-hidden="true" tabindex="-1"></a><span class="do">## Dimension:     XY</span></span>
<span id="cb9-5"><a href="#cb9-5" aria-hidden="true" tabindex="-1"></a><span class="do">## Bounding box:  xmin: 0 ymin: 1 xmax: 11 ymax: 12</span></span>
<span id="cb9-6"><a href="#cb9-6" aria-hidden="true" tabindex="-1"></a><span class="do">## Geodetic CRS:  WGS 84</span></span>
<span id="cb9-7"><a href="#cb9-7" aria-hidden="true" tabindex="-1"></a><span class="do">##    a      geometry</span></span>
<span id="cb9-8"><a href="#cb9-8" aria-hidden="true" tabindex="-1"></a><span class="do">## 1 15   POINT (0 1)</span></span>
<span id="cb9-9"><a href="#cb9-9" aria-hidden="true" tabindex="-1"></a><span class="do">## 2 16 POINT (11 12)</span></span></code></pre></div>
</div>
<div id="coordinate-reference-system-transformations" class="section level3">
<h3>Coordinate reference system transformations</h3>
<p>If we change the coordinate reference system from one non-missing
value into another non-missing value, the CRS is is changed without
modifying any coordinates, but a warning is issued that this did not
reproject values:</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a>s3 <span class="ot">&lt;-</span> s1 <span class="sc">%&gt;%</span> <span class="fu">st_set_crs</span>(<span class="dv">4326</span>) <span class="sc">%&gt;%</span> <span class="fu">st_set_crs</span>(<span class="dv">3857</span>)</span>
<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a><span class="do">## Warning: st_crs&lt;- : replacing crs does not reproject data; use st_transform for</span></span>
<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="do">## that</span></span></code></pre></div>
<p>A cleaner way to do this that better expresses intention and does not
generate this warning is to first wipe the CRS by assigning it a missing
value, and then set it to the intended value.</p>
<div class="sourceCode" id="cb11"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a>s3 <span class="ot">&lt;-</span> s1  <span class="sc">%&gt;%</span> <span class="fu">st_set_crs</span>(<span class="cn">NA</span>) <span class="sc">%&gt;%</span> <span class="fu">st_set_crs</span>(<span class="dv">3857</span>)</span></code></pre></div>
<p>To carry out a coordinate conversion or transformation, we use
<code>st_transform</code></p>
<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a>s3 <span class="ot">&lt;-</span> s1 <span class="sc">%&gt;%</span> <span class="fu">st_transform</span>(<span class="dv">3857</span>)</span>
<span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a>s3</span>
<span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a><span class="do">## Simple feature collection with 2 features and 1 field</span></span>
<span id="cb12-4"><a href="#cb12-4" aria-hidden="true" tabindex="-1"></a><span class="do">## Geometry type: POINT</span></span>
<span id="cb12-5"><a href="#cb12-5" aria-hidden="true" tabindex="-1"></a><span class="do">## Dimension:     XY</span></span>
<span id="cb12-6"><a href="#cb12-6" aria-hidden="true" tabindex="-1"></a><span class="do">## Bounding box:  xmin: 0 ymin: 111325.1 xmax: 1224514 ymax: 1345708</span></span>
<span id="cb12-7"><a href="#cb12-7" aria-hidden="true" tabindex="-1"></a><span class="do">## Projected CRS: WGS 84 / Pseudo-Mercator</span></span>
<span id="cb12-8"><a href="#cb12-8" aria-hidden="true" tabindex="-1"></a><span class="do">##    a                geometry</span></span>
<span id="cb12-9"><a href="#cb12-9" aria-hidden="true" tabindex="-1"></a><span class="do">## 1 15      POINT (0 111325.1)</span></span>
<span id="cb12-10"><a href="#cb12-10" aria-hidden="true" tabindex="-1"></a><span class="do">## 2 16 POINT (1224514 1345708)</span></span></code></pre></div>
<p>for which we see that coordinates are actually modified
(projected).</p>
</div>
</div>
<div id="geometrical-operations" class="section level2">
<h2>Geometrical operations</h2>
<p>All geometrical operations <code>st_op(x)</code> or
<code>st_op2(x,y)</code> work both for <code>sf</code> objects and for
<code>sfc</code> objects <code>x</code> and <code>y</code>; since the
operations work on the geometries, the non-geometry parts of an
<code>sf</code> object are simply discarded. Also, all binary operations
<code>st_op2(x,y)</code> called with a single argument, as
<code>st_op2(x)</code>, are handled as <code>st_op2(x,x)</code>.</p>
<p>We will illustrate the geometrical operations on a very simple
dataset:</p>
<div class="sourceCode" id="cb13"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a>b0 <span class="ot">=</span> <span class="fu">st_polygon</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>), <span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="dv">1</span>), <span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>))))</span>
<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a>b1 <span class="ot">=</span> b0 <span class="sc">+</span> <span class="dv">2</span></span>
<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a>b2 <span class="ot">=</span> b0 <span class="sc">+</span> <span class="fu">c</span>(<span class="sc">-</span><span class="fl">0.2</span>, <span class="dv">2</span>)</span>
<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a>x <span class="ot">=</span> <span class="fu">st_sfc</span>(b0, b1, b2)</span>
<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a>a0 <span class="ot">=</span> b0 <span class="sc">*</span> <span class="fl">0.8</span></span>
<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a>a1 <span class="ot">=</span> a0 <span class="sc">*</span> <span class="fl">0.5</span> <span class="sc">+</span> <span class="fu">c</span>(<span class="dv">2</span>, <span class="fl">0.7</span>)</span>
<span id="cb13-7"><a href="#cb13-7" aria-hidden="true" tabindex="-1"></a>a2 <span class="ot">=</span> a0 <span class="sc">+</span> <span class="dv">1</span></span>
<span id="cb13-8"><a href="#cb13-8" aria-hidden="true" tabindex="-1"></a>a3 <span class="ot">=</span> b0 <span class="sc">*</span> <span class="fl">0.5</span> <span class="sc">+</span> <span class="fu">c</span>(<span class="dv">2</span>, <span class="sc">-</span><span class="fl">0.5</span>)</span>
<span id="cb13-9"><a href="#cb13-9" aria-hidden="true" tabindex="-1"></a>y <span class="ot">=</span> <span class="fu">st_sfc</span>(a0,a1,a2,a3)</span>
<span id="cb13-10"><a href="#cb13-10" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x, <span class="at">border =</span> <span class="st">&#39;red&#39;</span>)</span>
<span id="cb13-11"><a href="#cb13-11" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(y, <span class="at">border =</span> <span class="st">&#39;green&#39;</span>, <span class="at">add =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAMAAAB2PiqAAAABlVBMVEUA/wAG/wYH/wcJ/wkL/wsT/xMU7gMU/BEU/xQW/xYZ/xka6AMa/Bca/xoc/xwe/x4i/yIj/yMo/ygr/ysu/y4y/zIz4BQz6x8z/zM2/zY3/zc4/zg8/zw9/z0//z9D/0NE/0RF/0VH/0dSrwJS6z5S/1JV/1VW/1Zc/1xerg1e8lFe/15mrxZmwShm1z5m6VBm/2Z//3+ZhiCZojyZw12Z33mZ/5mhcxWh6oyh/6Gj/6Oo/6iq/6qtVQOt1IKt/62w/7C0/7S4/7i7/7u//7/I/8jJ/8nK/8rMg1DMr3zM/8zN/83P/8/Q/9DU/9TW/9bd/93j/+PlOR/l4Mbl/+Xq/+rrMx/r4Mzr/+vt/+3z//P/AwP/BQX/DAz/Dg7/Dw//FRX/ISH/IiL/JSX/Kyv/LCz/Ly//Njb/Nzf/Q0P/R0f/VFT/VVX/YGD/ZGT/amr/b2//hob/kJD/kpL/l5f/m5v/nZ3/qqr/rKz/uLj/wMD/ycn/zc3/0dH/1NT/1tb/3d3/3t7/6ur/7u7/9fX/+fn///8YT+tzAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAIEklEQVR4nO3d15NlVRXH8TGLGcEwgGLOOWPCiFnEHBExi4IJcxjj3+3DrT23y0XNmbV+t+d2d30+T/th3bP3OfWtPm+nL/0XApeOfQDONwERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQEROacB/fP3R/HX/Qn+dZwT/OV4z/yxndOAfvP9nx/BT3+yP8HvvneME/zsh8d75o/tnAb0618eY9c//3i/fvThY5zgbz84xq7XIqAGAVUCahBQJaAGAVUCahBQJaAGAVUCahBQJaAGAVUCahBQJaAGAVUCahBQJaAGAVUCahBQJaAGAVUCahBQ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" /><!-- --></p>
<div id="unary-operations" class="section level3">
<h3>Unary operations</h3>
<p><code>st_is_valid</code> returns whether polygon geometries are
topologically valid:</p>
<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a>b0 <span class="ot">=</span> <span class="fu">st_polygon</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>), <span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="dv">1</span>), <span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>))))</span>
<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a>b1 <span class="ot">=</span> <span class="fu">st_polygon</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>), <span class="fu">c</span>(<span class="dv">0</span>,<span class="sc">-</span><span class="dv">1</span>), <span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="sc">-</span><span class="dv">1</span>))))</span>
<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a><span class="fu">st_is_valid</span>(<span class="fu">st_sfc</span>(b0,b1))</span>
<span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a><span class="do">## [1]  TRUE FALSE</span></span></code></pre></div>
<p>and <code>st_is_simple</code> whether line geometries are simple:</p>
<div class="sourceCode" id="cb15"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a>s <span class="ot">=</span> <span class="fu">st_sfc</span>(<span class="fu">st_linestring</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>))), </span>
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a>    <span class="fu">st_linestring</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>), <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">0</span>))))</span>
<span id="cb15-3"><a href="#cb15-3" aria-hidden="true" tabindex="-1"></a><span class="fu">st_is_simple</span>(s)</span>
<span id="cb15-4"><a href="#cb15-4" aria-hidden="true" tabindex="-1"></a><span class="do">## [1]  TRUE FALSE</span></span></code></pre></div>
<p><code>st_area</code> returns the area of polygon geometries,
<code>st_length</code> the length of line geometries:</p>
<div class="sourceCode" id="cb16"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">st_area</span>(x)</span>
<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] 4 4 4</span></span>
<span id="cb16-3"><a href="#cb16-3" aria-hidden="true" tabindex="-1"></a><span class="fu">st_area</span>(<span class="fu">st_sfc</span>(<span class="fu">st_point</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>))))</span>
<span id="cb16-4"><a href="#cb16-4" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] 0</span></span>
<span id="cb16-5"><a href="#cb16-5" aria-hidden="true" tabindex="-1"></a><span class="fu">st_length</span>(<span class="fu">st_sfc</span>(<span class="fu">st_linestring</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))), <span class="fu">st_linestring</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">0</span>)))))</span>
<span id="cb16-6"><a href="#cb16-6" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] 2.414214 1.000000</span></span>
<span id="cb16-7"><a href="#cb16-7" aria-hidden="true" tabindex="-1"></a><span class="fu">st_length</span>(<span class="fu">st_sfc</span>(<span class="fu">st_multilinestring</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))),<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">0</span>))))) <span class="co"># ignores 2nd part!</span></span>
<span id="cb16-8"><a href="#cb16-8" aria-hidden="true" tabindex="-1"></a><span class="do">## [1] 2.414214</span></span></code></pre></div>
</div>
<div id="binary-operations-distance-and-relate" class="section level3">
<h3>Binary operations: distance and relate</h3>
<p><code>st_distance</code> computes the shortest distance matrix
between geometries; this is a dense matrix:</p>
<div class="sourceCode" id="cb17"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">st_distance</span>(x,y)</span>
<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a><span class="do">##           [,1] [,2] [,3]     [,4]</span></span>
<span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] 0.0000000  0.6    0 0.500000</span></span>
<span id="cb17-4"><a href="#cb17-4" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] 0.2828427  0.0    0 1.000000</span></span>
<span id="cb17-5"><a href="#cb17-5" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] 0.2000000  0.8    0 1.220656</span></span></code></pre></div>
<p><code>st_relate</code> returns a dense character matrix with the
DE9-IM relationships between each pair of geometries:</p>
<div class="sourceCode" id="cb18"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">st_relate</span>(x,y)</span>
<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a><span class="do">##      [,1]        [,2]        [,3]        [,4]       </span></span>
<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] &quot;212FF1FF2&quot; &quot;FF2FF1212&quot; &quot;212101212&quot; &quot;FF2FF1212&quot;</span></span>
<span id="cb18-4"><a href="#cb18-4" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] &quot;FF2FF1212&quot; &quot;212101212&quot; &quot;212101212&quot; &quot;FF2FF1212&quot;</span></span>
<span id="cb18-5"><a href="#cb18-5" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] &quot;FF2FF1212&quot; &quot;FF2FF1212&quot; &quot;212101212&quot; &quot;FF2FF1212&quot;</span></span></code></pre></div>
<p>element [i,j] of this matrix has nine characters, referring to
relationship between x[i] and y[j], encoded as <span class="math inline">\(I_xI_y,I_xB_y,I_xE_y,B_xI_y,B_xB_y,B_xE_y,E_xI_y,E_xB_y,E_xE_y\)</span>
where <span class="math inline">\(I\)</span> refers to interior, <span class="math inline">\(B\)</span> to boundary, and <span class="math inline">\(E\)</span> to exterior, and e.g. <span class="math inline">\(B_xI_y\)</span> the dimensionality of the
intersection of the the boundary <span class="math inline">\(B_x\)</span> of x[i] and the interior <span class="math inline">\(I_y\)</span> of y[j], which is one of {0,1,2,F},
indicating zero-, one-, two-dimension intersection, and (F) no
intersection, respectively.</p>
</div>
<div id="binary-logical-operations" class="section level3">
<h3>Binary logical operations:</h3>
<p>Binary logical operations return either a sparse matrix</p>
<div class="sourceCode" id="cb19"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="fu">st_intersects</span>(x,y)</span>
<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="do">## Sparse geometry binary predicate list of length 3, where the predicate</span></span>
<span id="cb19-3"><a href="#cb19-3" aria-hidden="true" tabindex="-1"></a><span class="do">## was `intersects&#39;</span></span>
<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a><span class="do">##  1: 1, 3</span></span>
<span id="cb19-5"><a href="#cb19-5" aria-hidden="true" tabindex="-1"></a><span class="do">##  2: 2, 3</span></span>
<span id="cb19-6"><a href="#cb19-6" aria-hidden="true" tabindex="-1"></a><span class="do">##  3: 3</span></span></code></pre></div>
<p>or a dense matrix</p>
<div class="sourceCode" id="cb20"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="fu">st_intersects</span>(x, x, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="do">##      [,1]  [,2]  [,3]</span></span>
<span id="cb20-3"><a href="#cb20-3" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] TRUE  TRUE  TRUE</span></span>
<span id="cb20-4"><a href="#cb20-4" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] TRUE  TRUE FALSE</span></span>
<span id="cb20-5"><a href="#cb20-5" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] TRUE FALSE  TRUE</span></span>
<span id="cb20-6"><a href="#cb20-6" aria-hidden="true" tabindex="-1"></a><span class="fu">st_intersects</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb20-7"><a href="#cb20-7" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2] [,3]  [,4]</span></span>
<span id="cb20-8"><a href="#cb20-8" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,]  TRUE FALSE TRUE FALSE</span></span>
<span id="cb20-9"><a href="#cb20-9" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE  TRUE TRUE FALSE</span></span>
<span id="cb20-10"><a href="#cb20-10" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE TRUE FALSE</span></span></code></pre></div>
<p>where list element <code>i</code> of a sparse matrix contains the
indices of the <code>TRUE</code> elements in row <code>i</code> of the
the dense matrix. For large geometry sets, dense matrices take up a lot
of memory and are mostly filled with <code>FALSE</code> values, hence
the default is to return a sparse matrix.</p>
<p><code>st_intersects</code> returns for every geometry pair whether
they intersect (dense matrix), or which elements intersect (sparse).
Note that the function <code>st_intersection</code> in this package
returns a geometry for the intersection instead of logicals as in
<code>st_intersects</code> (see the next section of this vignette).</p>
<p>Other binary predicates include (using sparse for readability):</p>
<div class="sourceCode" id="cb21"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="fu">st_disjoint</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3] [,4]</span></span>
<span id="cb21-3"><a href="#cb21-3" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE  TRUE FALSE TRUE</span></span>
<span id="cb21-4"><a href="#cb21-4" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,]  TRUE FALSE FALSE TRUE</span></span>
<span id="cb21-5"><a href="#cb21-5" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,]  TRUE  TRUE FALSE TRUE</span></span>
<span id="cb21-6"><a href="#cb21-6" aria-hidden="true" tabindex="-1"></a><span class="fu">st_touches</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-7"><a href="#cb21-7" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-8"><a href="#cb21-8" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-9"><a href="#cb21-9" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-10"><a href="#cb21-10" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-11"><a href="#cb21-11" aria-hidden="true" tabindex="-1"></a><span class="fu">st_crosses</span>(s, s, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-12"><a href="#cb21-12" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]</span></span>
<span id="cb21-13"><a href="#cb21-13" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE FALSE</span></span>
<span id="cb21-14"><a href="#cb21-14" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE</span></span>
<span id="cb21-15"><a href="#cb21-15" aria-hidden="true" tabindex="-1"></a><span class="fu">st_within</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-16"><a href="#cb21-16" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-17"><a href="#cb21-17" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-18"><a href="#cb21-18" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-19"><a href="#cb21-19" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-20"><a href="#cb21-20" aria-hidden="true" tabindex="-1"></a><span class="fu">st_contains</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-21"><a href="#cb21-21" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-22"><a href="#cb21-22" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,]  TRUE FALSE FALSE FALSE</span></span>
<span id="cb21-23"><a href="#cb21-23" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-24"><a href="#cb21-24" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-25"><a href="#cb21-25" aria-hidden="true" tabindex="-1"></a><span class="fu">st_overlaps</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-26"><a href="#cb21-26" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2] [,3]  [,4]</span></span>
<span id="cb21-27"><a href="#cb21-27" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE FALSE TRUE FALSE</span></span>
<span id="cb21-28"><a href="#cb21-28" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE  TRUE TRUE FALSE</span></span>
<span id="cb21-29"><a href="#cb21-29" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE TRUE FALSE</span></span>
<span id="cb21-30"><a href="#cb21-30" aria-hidden="true" tabindex="-1"></a><span class="fu">st_equals</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-31"><a href="#cb21-31" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-32"><a href="#cb21-32" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-33"><a href="#cb21-33" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-34"><a href="#cb21-34" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-35"><a href="#cb21-35" aria-hidden="true" tabindex="-1"></a><span class="fu">st_covers</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-36"><a href="#cb21-36" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-37"><a href="#cb21-37" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,]  TRUE FALSE FALSE FALSE</span></span>
<span id="cb21-38"><a href="#cb21-38" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-39"><a href="#cb21-39" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-40"><a href="#cb21-40" aria-hidden="true" tabindex="-1"></a><span class="fu">st_covered_by</span>(x, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-41"><a href="#cb21-41" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-42"><a href="#cb21-42" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-43"><a href="#cb21-43" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-44"><a href="#cb21-44" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-45"><a href="#cb21-45" aria-hidden="true" tabindex="-1"></a><span class="fu">st_covered_by</span>(y, y, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-46"><a href="#cb21-46" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-47"><a href="#cb21-47" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,]  TRUE FALSE FALSE FALSE</span></span>
<span id="cb21-48"><a href="#cb21-48" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE  TRUE FALSE FALSE</span></span>
<span id="cb21-49"><a href="#cb21-49" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE  TRUE FALSE</span></span>
<span id="cb21-50"><a href="#cb21-50" aria-hidden="true" tabindex="-1"></a><span class="do">## [4,] FALSE FALSE FALSE  TRUE</span></span>
<span id="cb21-51"><a href="#cb21-51" aria-hidden="true" tabindex="-1"></a><span class="fu">st_equals_exact</span>(x, y,<span class="fl">0.001</span>, <span class="at">sparse =</span> <span class="cn">FALSE</span>)</span>
<span id="cb21-52"><a href="#cb21-52" aria-hidden="true" tabindex="-1"></a><span class="do">##       [,1]  [,2]  [,3]  [,4]</span></span>
<span id="cb21-53"><a href="#cb21-53" aria-hidden="true" tabindex="-1"></a><span class="do">## [1,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-54"><a href="#cb21-54" aria-hidden="true" tabindex="-1"></a><span class="do">## [2,] FALSE FALSE FALSE FALSE</span></span>
<span id="cb21-55"><a href="#cb21-55" aria-hidden="true" tabindex="-1"></a><span class="do">## [3,] FALSE FALSE FALSE FALSE</span></span></code></pre></div>
</div>
<div id="operations-returning-a-geometry" class="section level3">
<h3>Operations returning a geometry</h3>
<div class="sourceCode" id="cb22"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a>u <span class="ot">=</span> <span class="fu">st_union</span>(x)</span>
<span id="cb22-2"><a href="#cb22-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(u)</span></code></pre></div>
<p><img src="data:image/png;base64,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" /><!-- --></p>
<div class="sourceCode" id="cb23"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow=</span><span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>), <span class="at">mar =</span> <span class="fu">rep</span>(<span class="dv">0</span>,<span class="dv">4</span>))</span>
<span id="cb23-2"><a href="#cb23-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_buffer</span>(u, <span class="fl">0.2</span>))</span>
<span id="cb23-3"><a href="#cb23-3" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(u, <span class="at">border =</span> <span class="st">&#39;red&#39;</span>, <span class="at">add =</span> <span class="cn">TRUE</span>)</span>
<span id="cb23-4"><a href="#cb23-4" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_buffer</span>(u, <span class="fl">0.2</span>), <span class="at">border =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb23-5"><a href="#cb23-5" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(u, <span class="at">border =</span> <span class="st">&#39;red&#39;</span>, <span class="at">add =</span> <span class="cn">TRUE</span>)</span>
<span id="cb23-6"><a href="#cb23-6" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_buffer</span>(u, <span class="sc">-</span><span class="fl">0.2</span>), <span class="at">add =</span> <span class="cn">TRUE</span>)</span></code></pre></div>
<p><img src="data:image/png;base64,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" /><!-- --></p>
<div class="sourceCode" id="cb24"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_boundary</span>(x))</span></code></pre></div>
<p><img src="data:image/png;base64,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" /><!-- --></p>
<div class="sourceCode" id="cb25"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span><span class="sc">:</span><span class="dv">2</span>))</span>
<span id="cb25-2"><a href="#cb25-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_convex_hull</span>(x))</span>
<span id="cb25-3"><a href="#cb25-3" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_convex_hull</span>(u))</span></code></pre></div>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAMAAAB2PiqAAAAAyVBMVEUBAQEFBQUGBgYHBwcICAgPDw8TExMUFBQVFRUWFhYdHR0eHh4gICAiIiIrKysvLy82NjZAQEBJSUlQUFBYWFhcXFxfX19iYmJmZmZpaWltbW10dHR6enp8fHx+fn6BgYGCgoKFhYWNjY2SkpKTk5OVlZWXl5eYmJiZmZmcnJydnZ2ioqKvr6+2tra3t7e7u7u/v7/AwMDIyMjJycnMzMzPz8/b29vd3d3f39/i4uLj4+Pp6enr6+vs7Oz5+fn6+vr9/f3+/v7///+Zi37mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAHXElEQVR4nO3Y145dRRRFUZuMyZiMyckmZ2My/P9HIdE8GXtv3V5VZ1/EGC/90l2qU5pSS+vKnxC4Mn0B/tsERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREZEtAX76yzI2LEz9fd+LbO774NAvfZ70T32dLQDeu31zkgwcuTnzthVUnvvvoji8+zbr3We/U99kT0DurTvr1gYufr7236sSfzyGgZe+z3qnvI6ABAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmoIqCaghoBqAmrceP323775KvXF1YuTXnrz9iLfCqh0FgF99NTfnrxyNfbgxVEPPfbUKs/t+OLTvPnW9A3u78OnT/v9LQH945dHlh217l/YOfjg1ekb3NetJ74/7Q8ENODT69M3uJ+T+xHQhK+fnb7BfZzej4Am3Lk2fYN7u0Q/Aprw24O/T1/hXi7Tj4BGPP7T9A3u4VL9CGjEM99N3+DfLtePgEY8/9n0Df7lkv0IaMTLt6ZvcLfL9iOgEW+8PX2Du1y6HwGNOLcp+vL9CGjEmU3RQT8CGnFeU3TSj4BGnNUUHfUjoBHnNEVn/QhoxvlM0WE/AppxNlN02o+AZpzLFB33I6AZZzJF5/0IaMZ5TNEL+hHQjLOYolf0I6AZ5zBFL+lHQDPOYIpe04+AZsxP0Yv6EdCM8Sl6VT8CGjI8RS/rR0BDZqfodf0IaMjoFL2wHwENmZyiV/YjoCGDU/TSfgQ0ZG6KXtuPgIaMTdGL+xHQkKkpenU/AhoyNEUv70dAQ2am6PX9CGjKxBS9oR8BTRmYoj/e0I+Aphw/RW/pR0BTDp+i9/QjoClHT9Gb+hHQlIOn6F39CGjKsVP0tn4ENOXQKXpfPwKacuQUvbEfAU05cIre2Y+Axhw2RW/tR0Bjjpqi9/YjoDEHTdGb+xHQmGOm6N39CGjMIVP09n4ENOaIKXp/PwIac8AUfUA/Ahqzf4o+oh8Bjdk+RR/Sj4DG7J6ij+lHQHP2TtEH9SOgOVun6KP6EdCcnVP0Yf0IaM7GKfq4fgQ0Z98UfWA/ApqzbYo+sh8Bzdk1RR/aj4DmbJqij+1HQHP2TNEH9yOgOVum6KP7EdCgDVP04f0IaND6Kfr4fgQ0aPkUPdCPgAatnqIn+hHQoMVT9Eg/Ahq0doqe6UdAg5ZO0UP9CGjQyil6qp+9AT30yipPv7/xnlPuPLzsfV68NtTP1oD++OTmMj9uvOeUle/zw9RH7AyI/wEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARARH5C3uVNVjV6fTpAAAAAElFTkSuQmCC" /><!-- --></p>
<div class="sourceCode" id="cb26"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow =</span> <span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>))</span></code></pre></div>
<div class="sourceCode" id="cb27"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow=</span><span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>))</span>
<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x)</span>
<span id="cb27-3"><a href="#cb27-3" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_centroid</span>(x), <span class="at">add =</span> <span class="cn">TRUE</span>, <span class="at">col =</span> <span class="st">&#39;red&#39;</span>)</span>
<span id="cb27-4"><a href="#cb27-4" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x)</span>
<span id="cb27-5"><a href="#cb27-5" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_centroid</span>(u), <span class="at">add =</span> <span class="cn">TRUE</span>, <span class="at">col =</span> <span class="st">&#39;red&#39;</span>)</span></code></pre></div>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAMAAAB2PiqAAAACBFBMVEUBAQEFBQUGBgYHBwcICAgTExMUFBQVFRUgICAiIiIrKytAQEBQUFBYWFhfX19mZmZtbW10dHR6enp+fn6CgoKFhYWNjY2SkpKTk5OVlZWYmJiZmZmioqK3t7e7u7u/v7/AwMDJycnMzMzd3d3j4+Pr6+vs7Oz5+fn+/v7/CAj/Cgr/Cwv/DAz/Dw//EBD/ERH/EhL/ExP/FRX/Fhb/Fxf/GBj/GRn/Gxv/HBz/HR3/Hx//IiL/IyP/JCT/KSn/Kir/Kyv/LCz/Ly//MDD/MTH/MzP/NDT/NTX/ODj/Ojr/PDz/Pj7/Pz//QED/R0f/SEj/Skr/TEz/TU3/T0//UFD/U1P/V1f/XV3/YmL/Y2P/ZWX/Zmb/Z2f/bW3/cHD/cnL/c3P/dXX/d3f/fHz/fX3/f3//kZH/lpb/mJj/mZn/mpr/oaH/o6P/pqb/p6f/qan/q6v/rKz/rq7/srL/s7P/tLT/tbX/trb/t7f/ubn/urr/u7v/vLz/vb3/v7//wMD/wsL/w8P/xcX/xsb/yMj/ycn/y8v/zMz/zs7/z8//0dH/0tL/09P/1dX/1tb/2Nj/2tr/29v/3d3/39//4OD/4uL/4+P/5OT/5eX/6en/6ur/7Oz/7e3/7u7/7+//8/P/9PT/9fX/9vb/9/f/+Pj/+fn/+vr/+/v//Pz//f3//v7////fluJwAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAIEUlEQVR4nO3U15edZRnG4aBYsKHYxY4NRVRQE4JEpSh2sIuCigVUUESjsZBgw47dqBhUJMGw/0mZHT1935l1772ePc9c18H3nTzrW3vu9VuzbwGBfdU/gN1NQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARNYS0IvOXZnzznzxBav74jPW8RfvTKd91hLQeU86f0We+6gzX3zqk1f1xWc9dh1/8c502mc9AT1zVV965f8HevaqvvjyTQio0T4CKtBpHwEV6LSPgAp02kdABTrtI6ACnfYRUIFO+wioQKd9BFSg0z4CKtBpHwEV6LSPgAp02kdABTrtI6ACnfYRUIFO+wioQKd9BFSg0z4CKtBpHwEV6LSPgAp02kdABTrtI6ACnfYRUIFO+wioQKd9BFSg0z4CKtBpHwEV6LSPgAp02kdABTrtI6ACnfYRUIFO+wioQKd9qgK6/zNv3/+Bu6dnOxjovhvfeuD6n0zPBDS2SwL62+U3/ur4Vw9+aXa3/YGOX/bZX//pK/tvn90JaGyXBPTpm7aev3vDPyZ32x/ohs9vPX9x6cnJnYDGdklAV92zfL33rsnd9gd6y2+Wr6vvmdwJaGyXBHTo3uXrum9N7rY/0IE/L1/v/sHkTkBjuySgj96y9fzXJccnd9sf6Lrbtp73X3xiciegsV0S0E/fdGSx+OuHPz672/5Ad+8/ulj85f03ze4ENLZLAlocPXTw6tfe/ODsbAcDHbni8qsu/sJDszMBje2WgBaLP/zsgfnRTgZ6+Pc/nwYpoJndE9C21A+0Dp32EVCBTvsIqECnfQRUoNM+AirQaR8BFei0j4AKdNpHQAU67SOgAp32EVCBTvsIqECnfQRUoNM+AirQaR8BFei0j4AKdNpHQAVWsM8D/1y+6vcRUIF4n7uuueiiK7+92IR9BFQg3efwZYdPn/7OwTs2YR8BFUj3ufK7W88fXrEJ+wioQLjPvy88vXy//r4N2EdABcJ9HrzwP8v36/6+AfsIqEC6zzWHt57HDm3CPgIqkO7zvTd/7eSpOw98cxP2EVCBeJ8fvefVr3nXscUm7COgAivY56FTy1f9PgIq0GkfARXotI+ACnTaR0AFOu0joAKd9hFQgU77rCegp12w9JIXp1541pkvPeXpF6zISzchoEb7rCWg552z9Ph9Z8UefeZTZz/unFV54jr+4p3ptM9aAvqfVzxmZZ9a3b/oDdJiHwHVabGPgOq02EdAdVrsI6A6LfYRUJ0W+wioTot9BFSnxT4CqtNiHwHVabGPgOq02EdAdVrsI6A6LfYRUJ0W+wioTot9BFSnxT4CqtNiHwHVabGPgOq02EdAdVrsI6A6LfYRUJ0W+wioTot9BFSnxT4CqtNiHwHVabGPgOq02EdAdVrsI6A6LfYRUJ0W+wioTot9BFSnxT7VAZ0+duudJ+ZnAhrbswH99p3v+NSH3njb9E5AY3s1oFOHbnnkee/+H88OBTS2VwP6/rXL1xc/MTsU0NheDejLNyxfR983OxTQ2F4N6OsfXL5u/8jsUEBjezWgE5f88pHnyWtvnx0KaGyvBrS449LPfePWt33s4dmdgMb2bECLP958/SePzM8ENLZ3A9omAY0JaEJAYwKaENCYgCYENCagCQGNCWhCQGMCmhDQmIAmBDQmoAkBjQloQkBjApoQ0JiAJgQ0JqAJAY0JaEJAYwKaENCYgCYENCagCQGNCWhCQGMCmhDQmIAmBDQmoAkBjQloQkBjApoQ0JiAJgQ0JqAJAY0JaEJAYwKaENCYgCYENCagCQGNCWhCQGMCmhDQmIAmBDTWNKCzz12VJzxnjb+zSot91hnQq55//sq8bI2/s0qLfdYZEHuAgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICI/BeuFKqIml3/rAAAAABJRU5ErkJggg==" /><!-- --></p>
<p>The intersection of two geometries is the geometry covered by both;
it is obtained by <code>st_intersection</code>:</p>
<div class="sourceCode" id="cb28"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x)</span>
<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(y, <span class="at">add =</span> <span class="cn">TRUE</span>)</span>
<span id="cb28-3"><a href="#cb28-3" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_intersection</span>(<span class="fu">st_union</span>(x),<span class="fu">st_union</span>(y)), <span class="at">add =</span> <span class="cn">TRUE</span>, <span class="at">col =</span> <span class="st">&#39;red&#39;</span>)</span></code></pre></div>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAMAAAB2PiqAAAABelBMVEUAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcIAAAICAgJCQkLCwsMDAwODg4PAAAPDw8TExMUFBQVFRUWFhYYGBgZGRkaGhocHBweHh4fAAAhISEiAAAiIiIjAAAkJCQlJSUmJiYnJycoAAArKyssLCwuLi4yMjIzAAAzMzM1AAA2AAA2NjY3Nzc8PDw9PT0/Pz9DAABDQ0NEAABERERFAABHR0dJSUlKAABKSkpQAABRAABUVFRVAABVVVVWAABYWFhcAABcXFxeAABeXl5gYGBjY2NkAABkZGRmAABmZmZqampvb29xcXF5eXl/f3+JiYmQkJCSkpKZmZmbAACbm5udnZ2goKChoaGjo6OoqKipqamqqqqsrKytAAC0tLS4uLi7u7u/v7/AwMDIyMjJAADJycnMzMzNzc3R0dHUAADU1NTW1tbcAADdAADd3d3e3t7hAADj4+PlAADl5eXq6urr6+vt7e3uAADu7u7z8/P19fX5+fn/AAD///9s8K5rAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAHtElEQVR4nO3d2bNcVRXH8YuAKAQVVJziiPOIYpxQUVEjOGtUcAI1iqJGcR7/dx+6dt9bLiona//65OR2fT5P52H3PqtXfav6sU/+C4GTrQfgfBMQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQkXMa0F9+tIlfn07wj20meHa7nb+wcxrQt9/8mQ18+P2nE3zv9VtMcOnt2+38hZ3TgL711S3e+sv3nT5fubzFBM89uMVbr0dADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpADQKqBNQgoEpAw/c/v+hjr/rO3iNvWj5/1jcOMqSADmSFgB746FeWfPLOx/fe8rbF42d97vaDDCmgA1kjoJ/8Z8nVe06PP/blxeNn/UlAtxQB3SoENAhoioAGAU0R0CCgKQIaBDRFQIOApghoENAUAQ0CmiKgQUBTBDQIaIqABgFNEdAgoCkCGgQ0RUCDgKYIaBDQFAENApoioEFAUwQ0CGiKgAYBTRHQIKApAhoENEVAg4CmCGgQ0BQBDQKaIqBBQFMENAhoioAGAU0R0CCgKQIaBDRFQIOApghoENAUAQ0CmiKgQUBTBDQIaIqABgFNEdAgoCkCGgQ0RUCDgKYIaBDQFAEN6wb095ecLPv64pACOpBzF9CN+MLji0MK6EAEdKsQ0CCgKQIaBDTlvAb0xWt7v/35Qdx3AwHdfXr80md/f2ifevTakqcFdBg/vnjq3tvvPITblgP63RvfsPey25avPLlj/3jHyfLxF7384qJHtt78/zunAZ11+cpBrrmBn7CzvvvW5Svv++v+8c8PLB9/7AfB+FsR0CCgKQIaBDRFQIOApghoENAUAQ0CmiKgQUBTBDQIaIqABgFNEdAgoClHFtBPvzntXgHNOLKALrz3I7M+/hsBTTiygO652qogIKAdAQkoIiABRQQkoIiABBQRkIAiAhJQREACighIQBEBCSgiIAFFBCSgiIAEFBGQgCICElBEQAKKCEhAEQEJKCIgAUUEJKCIgAQUEZCAIgISUERAAooISEARAQkoIiABRQQkoIiAVgzolR96ePjgXQ8vevWT6y1pNQJaMaBnn9l76hXPLPvnektajYBWDOiMG/kJO5cEJKCIgAQUEZCAIgJq+ON73rX3upe+u+Mdr91uQasSUMPVu57c+9InftXy/HYLWpWAOgGd+cvLK5dv/je9FQlIQBEBCSgiIAFFBCSgiIAEFBGQgCICElBEQAKKCEhAEQGtEtAHTqa9+BdrLWoVAloloAefm/46l56e/ugWBCSgiIAEFBGQgCICElBEQAKKCEhAEQEJKCIgAUUEJKCIgAQUEZCAIgISUERAAooISEARAQkoIiABRQQkoIiABBQRkIAiAhJQREACighIQBEBCSgiIAFFBCSgiIAEFBGQgCICElBEQAKKCEhAEQEJKCIgAUUEJKCIgAQUEZCAIgISUERAAooISEARAQkoIiABRQQkoIiABBQRkIAiAhJQREACihxZQBce+vSKHrpw+iYB7RxZQE99bVU/PH2TgHaOLKCbR0A7ApokoB0BTRLQjoAmCWhHQJMEtCOgSQLaEdAkAe0IaJKAdgQ0SUA7ApokoJ0jCOiJ+y9u4P4nrjfTO18zffHdP7tZizuIIwjoX9e28Id/X2+mv81f/PzN2tthHEFAbElARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBEBEREQEQERERARAREREBE/gfCFZBotlI9MwAAAABJRU5ErkJggg==" /><!-- --></p>
<p>Note that the function <code>st_intersects</code> returns a logical
matrix indicating whether each geometry pair intersects (see the
previous section in this vignette).</p>
<p>To get <em>everything but</em> the intersection, use
<code>st_difference</code> or <code>st_sym_difference</code>:</p>
<div class="sourceCode" id="cb29"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow=</span><span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">2</span>), <span class="at">mar =</span> <span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>,<span class="dv">1</span>,<span class="dv">0</span>))</span>
<span id="cb29-2"><a href="#cb29-2" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x, <span class="at">col =</span> <span class="st">&#39;#ff333388&#39;</span>); </span>
<span id="cb29-3"><a href="#cb29-3" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(y, <span class="at">add=</span><span class="cn">TRUE</span>, <span class="at">col=</span><span class="st">&#39;#33ff3388&#39;</span>)</span>
<span id="cb29-4"><a href="#cb29-4" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span>(<span class="st">&quot;x: red, y: green&quot;</span>)</span>
<span id="cb29-5"><a href="#cb29-5" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x, <span class="at">border =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb29-6"><a href="#cb29-6" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_difference</span>(<span class="fu">st_union</span>(x),<span class="fu">st_union</span>(y)), <span class="at">col =</span> <span class="st">&#39;lightblue&#39;</span>, <span class="at">add =</span> <span class="cn">TRUE</span>)</span>
<span id="cb29-7"><a href="#cb29-7" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span>(<span class="st">&quot;difference(x,y)&quot;</span>)</span>
<span id="cb29-8"><a href="#cb29-8" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x, <span class="at">border =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb29-9"><a href="#cb29-9" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_difference</span>(<span class="fu">st_union</span>(y),<span class="fu">st_union</span>(x)), <span class="at">col =</span> <span class="st">&#39;lightblue&#39;</span>, <span class="at">add =</span> <span class="cn">TRUE</span>)</span>
<span id="cb29-10"><a href="#cb29-10" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span>(<span class="st">&quot;difference(y,x)&quot;</span>)</span>
<span id="cb29-11"><a href="#cb29-11" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x, <span class="at">border =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb29-12"><a href="#cb29-12" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(<span class="fu">st_sym_difference</span>(<span class="fu">st_union</span>(y),<span class="fu">st_union</span>(x)), <span class="at">col =</span> <span class="st">&#39;lightblue&#39;</span>, <span class="at">add =</span> <span class="cn">TRUE</span>)</span>
<span id="cb29-13"><a href="#cb29-13" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span>(<span class="st">&quot;sym_difference(x,y)&quot;</span>)</span></code></pre></div>
<p><img src="data:image/png;base64,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r3bZQnz/+dg6uaoq+/Xqefr0abMb+UYQ/aGqadrAgQP1z4OBrqKiws9XrWuaNnz4cP2L7KArKSmp/UGo8HK73Us3bRk0crTZjQSRr3Ivrpv9QH2rbrd7zX+81al7j+ZsKcj99YP/S938W7O7+BZ/vAMAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAKwolBsAAAevSURBVJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCUFGJ2A/CnoqLiX/7lX2JiYnyuFhcXv/LKK+Hh4c3cFWCKt159qTA/z8CC5ddLrl27tmDBAp+rJSUlr2/+XXhklIFb9CPU4Zj5+PIIZzNtrmUgwILa5cuX/+e9Pz/4xAqfq//zX7+7fPlyu3btmrkrwBT7X/v9syufjooy7CH+0qVLn/7llLVbX5+rmsV698jhXbp0MWpz/q1Zs+auaT/r0X9A82yuZSDAgl24M+qenz7sc2nv71OauRnAXI888khsbKxR1T777LOt2//dz3xNnz594MCBRm3Ov5QUxvmWcQ4MAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkAgwAoKQQsxsAAIiIFF0ucEREGFgw1OGIie1kYMFgQ4ABgPmGDx/+xvPPGVhQ07TLhVd2pZ81sGawIcAAwHw7duwwtmBFRUV0u3bG1gw2nAMDACiJAAMAKCm4DiEWFBQUFRXdfHl1dfWNGzeavx/T5ebmll0r3rVpnc/VksKv1qxZEx0d3cxdGahdu3bz5s0zsGBVVZWB1VqYw7t3fXT8iM+lUZMm9x08rJn7aYTMzMyYmBijqrXs+XK73e7q6vr+dY1z5VKBgdWaLogCLD4+vry83OdSWVmZy+WKMPT1OUqIj49/dOFCq9X3E+U/h4ZWRbUvdxo2z83M43a99sILCxcuNLCm3W7v1Kklv+yq0ZYvX56RkeFzKS0tLT00TIkAs9vtdrvdqGotfr5sNlv/9lEG1uzfvv+wh2cYWLCJLJqmmd1Dw7KzszVN69Wrl9mNBJdu3br9eseeTt17mN1II1VXVs4dPah1PrcOKk8++WRetWXmkqfMbqQBc8YM/jLr89jY2ObZHPMV/DgHBgBQEgEGAFASAQYAUBIBBgBQEgEGAFASAQYAUFIQvQ8MQLDxeNyffXBaqwmKN9u4XS6zW0BwIcAA1OvLTzI3L/3FiBEjzG5ERGTiD8ZFRRn5tlyojgADUC+tpmbQoEGHDx82uxHAB86BAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJREgAEAlESAAQCURIABAJQUYnYDUEb59etl14oNLOiqqjKwGqA05qsRCDAEas28mZXFV0JDQw2sOXToUAOrAepivhqBAEOgXNVV77777pAhQ8xuBGiBmK9G4BwYAEBJBBgAQEkcQlTbn3bvdLaNaZ5tXSsqap4NAc2jurr65ZdfdrvdPlfLysqYryBHgCnskUceqa6uDgnxPX6Ge2zhL/r06dM82wKaQV5e3nNr1kya8c8+Vyurq9trVR2YryBGgCns/vvvHzp0aHh4uNmNAKpyto15eNmvfS6dOrT/ySefHDhwYDO3hMBxDgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkXkbf2hUUFFy6dMnsLr7Ro0ePDh06mN0FYBjm67YiwFq7BQsWpH/8aWRUG7MbkWtXi3469ccpKSlmNwIYhvm6rQiw1s7j8cx7Zu0d4yaa3Yj8afdOT8F5s7sAjMR83VacAwMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKIkAAwAoiQADACiJAAMAKCnE7AYABLWysrIzZ86Y3cVtkZ+fb3YLaBICDEC9ojvElnlkxqy5Zjdyu/Qflmh2C2g8AgxAvTrH99yw56DZXQC+cQ4MAKAkAgwAoCQCDACgJAIMAKAkAgwAoCQCDACgJAIMAKAkNd4HZrVaL1y4kJeXZ3YjwcXj8VitTf0TxOFwbFq6ICTE/D3BVV29cMEvzO6iNQoPD39ny6aDO7eb3UhwqSgvj4iIaGIR5uu2smiaZnYPDdM0zePxmN1FMGr6YFRVVd24ccOQZprO6XTa7Xazu2h13G53cXGx2V0EHZvN1q5duyYWYb5uKzUCDACAOjgHBgBQEgEGAFASAQYAUBIBBgBQEgEGAFDS/wc8ewM23TFTKAAAAABJRU5ErkJggg==" /><!-- --></p>
<p>Function <code>st_segmentize</code> adds points to straight line
sections of a lines or polygon object:</p>
<div class="sourceCode" id="cb30"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow=</span><span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">3</span>),<span class="at">mar=</span><span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">0</span>,<span class="dv">0</span>))</span>
<span id="cb30-2"><a href="#cb30-2" aria-hidden="true" tabindex="-1"></a>pts <span class="ot">=</span> <span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">2</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">3</span>,<span class="dv">1</span>))</span>
<span id="cb30-3"><a href="#cb30-3" aria-hidden="true" tabindex="-1"></a>ls <span class="ot">=</span> <span class="fu">st_linestring</span>(pts)</span>
<span id="cb30-4"><a href="#cb30-4" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(ls)</span>
<span id="cb30-5"><a href="#cb30-5" aria-hidden="true" tabindex="-1"></a><span class="fu">points</span>(pts)</span>
<span id="cb30-6"><a href="#cb30-6" aria-hidden="true" tabindex="-1"></a>ls.seg <span class="ot">=</span> <span class="fu">st_segmentize</span>(ls, <span class="fl">0.3</span>)</span>
<span id="cb30-7"><a href="#cb30-7" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(ls.seg)</span>
<span id="cb30-8"><a href="#cb30-8" aria-hidden="true" tabindex="-1"></a>pts <span class="ot">=</span> ls.seg</span>
<span id="cb30-9"><a href="#cb30-9" aria-hidden="true" tabindex="-1"></a><span class="fu">points</span>(pts)</span>
<span id="cb30-10"><a href="#cb30-10" aria-hidden="true" tabindex="-1"></a>pol <span class="ot">=</span> <span class="fu">st_polygon</span>(<span class="fu">list</span>(<span class="fu">rbind</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">0</span>),<span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">1</span>),<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>))))</span>
<span id="cb30-11"><a href="#cb30-11" aria-hidden="true" tabindex="-1"></a>pol.seg <span class="ot">=</span> <span class="fu">st_segmentize</span>(pol, <span class="fl">0.3</span>)</span>
<span id="cb30-12"><a href="#cb30-12" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(pol.seg, <span class="at">col =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb30-13"><a href="#cb30-13" aria-hidden="true" tabindex="-1"></a><span class="fu">points</span>(pol.seg[[<span class="dv">1</span>]])</span></code></pre></div>
<p><img src="data:image/png;base64,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yh1fx31hEZDj7GqTOajNQJOdhZlzJ6b9x2DjvtxRi3Jnmxy5On3OpNRPDDZ+22vEop4zAx8RkNN8Nub8e8x2vjG/4HOjjfsfzdtodmTlgvt3G238dnne+roPCAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEgICBICgoSAICEgSAgIEgKChIAgISBICAgSAoKEgCAhIEj+D+/Ulwcd8nffAAAAAElFTkSuQmCC" /><!-- --></p>
<p>Function <code>st_polygonize</code> polygonizes a multilinestring, as
long as the points form a closed polygon:</p>
<div class="sourceCode" id="cb31"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a><span class="fu">par</span>(<span class="at">mfrow=</span><span class="fu">c</span>(<span class="dv">1</span>,<span class="dv">2</span>),<span class="at">mar=</span><span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>,<span class="dv">1</span>,<span class="dv">0</span>))</span>
<span id="cb31-2"><a href="#cb31-2" aria-hidden="true" tabindex="-1"></a>mls <span class="ot">=</span> <span class="fu">st_multilinestring</span>(<span class="fu">list</span>(<span class="fu">matrix</span>(<span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>,<span class="dv">0</span>,<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">1</span>,<span class="dv">0</span>,<span class="dv">0</span>),,<span class="dv">2</span>,<span class="at">byrow=</span><span class="cn">TRUE</span>)))</span>
<span id="cb31-3"><a href="#cb31-3" aria-hidden="true" tabindex="-1"></a>x <span class="ot">=</span> <span class="fu">st_polygonize</span>(mls)</span>
<span id="cb31-4"><a href="#cb31-4" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(mls, <span class="at">col =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb31-5"><a href="#cb31-5" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span>(<span class="st">&quot;multilinestring&quot;</span>)</span>
<span id="cb31-6"><a href="#cb31-6" aria-hidden="true" tabindex="-1"></a><span class="fu">plot</span>(x, <span class="at">col =</span> <span class="st">&#39;grey&#39;</span>)</span>
<span id="cb31-7"><a href="#cb31-7" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span>(<span class="st">&quot;polygon&quot;</span>)</span></code></pre></div>
<p><img src="data:image/png;base64,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" /><!-- --></p>
</div>
</div>



<!-- code folding -->


<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src  = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>

</body>
</html>
